/* 计算2的n次幂 */

// var n = parseInt(window.prompt('请输入自然数n：'));
// var m = n;
// var num = 1;
// if(m == 0) {
//     num = 1;
// }else{
//     while(m > 0){
//         num = num * 2;
//         m --;
//     }
// }
// document.write('2的', n, '次幂为:', num);

/* 计算n的阶乘*/

var n = parseInt(window.prompt('请输入自然数n：'));
var num = n;
var result = 1;
if(num == 0){
    document.write(n, '的阶乘为:', result);
}else{
    while(num > 0){
        result *= num;
        num --;
    }
    document.write(n, '的阶乘为:', result);
}

/* 输出斐波那契数列的第n项*/

// var n = parseInt(window.prompt('请输入正整数n：'));

// var first = 1;
// var second = 1;
// var result = 1;
// var count = 2;
// if(n != 1 && n != 2){

//     while(count < n){
//         result = first + second;
//         first = second;
//         second = result;
//         count ++;
//     }

// }
// document.write('斐波那契数列的第', n, '项为：', result);


/*输入一个三位数的正整数，输出时反向输出 */

// var num = parseInt(window.prompt('请输入一个三位数的正整数：'));

// var numReverse = num % 10 * 100 + (num - num % 10) / 10 % 10 * 10 + (num - num % 100) / 100;
// document.write(num, "反向输出为：", numReverse);

/*输入 a, b, c 三个数字，打印最大的 */

// var a = parseInt(window.prompt('请输入一个整数：'));
// var b = parseInt(window.prompt('请输入一个整数：'));
// var c = parseInt(window.prompt('请输入一个整数：'));

// var max = a;
// if(max < b){
//     max = b;
// }
// if (max < c){
//     max = c;
// }
// document.write('最大的数为：', max);

/*打印出100以内的质数 */


// for(var i = 2; i <= 100; i ++){
//     var count = 0;
//     for(var j = 1; j <= i; j ++){
//          if(i % j == 0){
//              count ++;
//          }
//     }
//     if(count == 2) {
//         document.write(i," ");
//     } 
// }



// 提升的算法，只需要看能不能被它的平方根之下的数整除
for(var i = 2; i <= 1000; i ++){
    var count = 0;
    for(var j = 1; j <= Math.sqrt(i); j ++){
         if(i % j == 0){
             count ++;
         }
    }
    if(count == 1) {
        document.write(i," ");
    } 
}
